﻿using System;
using System.Collections.Generic;
using System.Text;

namespace TestKontrole2 {
    public class KlijentRepository : TestKontrole2.repozitorij.IKlijentRepository {
        private static KlijentRepository instanca = null;
        private List<Klijent> klijenti;

        private KlijentRepository() {
            klijenti = new List<Klijent>();
            klijenti.Add(Klijent.defaultKlijent());
        }
        public static KlijentRepository getInstanca() {
            if (instanca == null) {
                instanca = new KlijentRepository();
            }
            return instanca;
        }

        public void addKlijent(Klijent klijent) {
            if (!existKlijent(klijent.Naziv)) {
                klijenti.Add(klijent);
            } else
                throw new iznimke.KlijentAlreadyExistException();
        }

        public Klijent getKlijentByNaziv(string naziv) {
            if (existKlijent(naziv)) {
                foreach (Klijent item in klijenti) {
                    if (item.Naziv == naziv)
                        return item;
                }
            } 
            throw new iznimke.KlijentNotExistException();
        }

        public bool existKlijent(string naziv) {
            foreach (Klijent item in klijenti)
                if (item.Naziv == naziv)
                    return true;
            return false;
        }

        public List<Klijent> getAllKlijent() {
            return klijenti;
        }

        public void updateKlijent(Klijent klijent) {
            throw new System.NotImplementedException();
        }

        public void removeKlijent(Klijent klijent) {
            throw new System.NotImplementedException();
        }
    }
}
